package gwt.immunology.client;

import gwt.immunology.client.view.*;

import com.google.gwt.event.shared.EventBus;
import com.google.gwt.event.shared.SimpleEventBus;
import com.google.gwt.place.shared.PlaceController;

public class ClientFactoryImpl implements ClientFactory {

    private final EventBus eventBus = new SimpleEventBus();
    private final PlaceController placeController = new PlaceController(eventBus);
    private final AllPatientsView allPatientsView = new AllPatientsViewImpl();
    private final AddPatientView addPatientView = new AddPatientViewImpl();
    private final SearchPatientsView searchPatientsView = new SearchPatientsViewImpl();
    private final UserView userView = new UserViewImpl();

    @Override
    public EventBus getEventBus() {
        return eventBus;
    }

    @Override
    public PlaceController getPlaceController() {
        return placeController;
    }

    @Override
    public AllPatientsView getAllPatientsView() {
        return allPatientsView;
    }

    @Override
    public AddPatientView getAddPatientView() {
        return addPatientView;
    }

    @Override
    public SearchPatientsView getSearchPatientsView() {
        return searchPatientsView;
    }

    @Override
    public UserView getUserView() {
        return userView;
    }

}
